#include <fstream>
#include <iostream>
#include <string>
#include <unistd.h>
#include <sys/time.h>

#include <boost/filesystem.hpp>
#include <opencv2/opencv.hpp>


using namespace std;
using namespace cv;


int main(int argc, char **argv) {
    cv::Mat img = cv::imread("../cvUtils/hello.jpg");

    int num_threads = 1;
    cv::setNumThreads(1);

    while (1) {
        cv::resize(img, img, cv::Size(1280, 800));
        cv::resize(img, img, cv::Size(1920, 1080));
        cv::resize(img, img, cv::Size(1368, 768));
        cv::resize(img, img, cv::Size(800, 600));
        std::cout << "time" << std::endl;
    }


//    std::string filename;
//
//    std::vector<unsigned char> buff;
//    cv::Mat im = cv::imread("../cvUtils/hello.jpg");
//
//
//    cv::imencode(".jpg", im, buff);
//    cv::imencode(".jpg", im, buff);
//    cv::imencode(".jpg", im, buff);
//    cv::imencode(".jpg", im, buff);
//    struct timeval t,t1;
//    gettimeofday(&t,NULL);
//    cv::imencode(".jpg", im, buff);
//    gettimeofday(&t1,NULL);
//    std::cout << "TIME USE encode:" << ((float)((t1.tv_sec - t.tv_sec)*1000000 + (t1.tv_usec-t.tv_usec)) )/ 1000000 << std::endl;
//
//    cv::Mat dec ;
//    dec = cv::imdecode(buff,IMREAD_COLOR);
//    dec = cv::imdecode(buff,IMREAD_COLOR);
//    dec = cv::imdecode(buff,IMREAD_COLOR);
//    dec = cv::imdecode(buff,IMREAD_COLOR);
//    gettimeofday(&t,NULL);
//    dec = cv::imdecode(buff,IMREAD_COLOR);
//    gettimeofday(&t1,NULL);
//    std::cout << "TIME USE decode:" << ((float)((t1.tv_sec - t.tv_sec)*1000000 + (t1.tv_usec-t.tv_usec)) )/ 1000000 << std::endl;

//    if (argc < 3) {
//        std::cout << " ./extract ./file.avi 2" << std::endl;
//    }
//    filename.assign(argv[1]);
//    int interVal = atoi(argv[2]);
//
//    VideoCapture capture;
//    capture.open(filename);
//    if (!capture.isOpened()) {
//        cout << "Could not initialize capturing...\n" << endl;
//        return -1;
//    }
//
//    Mat frame;
//    int n = 0;
//    while (true) {
//        capture >> frame;
//
//        if (frame.empty()) {
//            break;
//        }
//        std::string simuDir = filename + "_simu/";
//        if (!boost::filesystem::exists(simuDir)) {
//            boost::filesystem::create_directories(simuDir);
//        }
//        if (n++ % interVal == 0) {
//            imwrite(simuDir + std::to_string(n) + ".jpg", frame);
//        }
//
//
//        imshow("Video_Capture", frame);
//        waitKey(1);
//
//    }

}
